/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

 

#ifndef SslModel_h
#define SslModel_h

@interface RecordValidate :NSObject

/// 校验类型，DNS或File
@property (strong,nonatomic,nonnull)  NSString*  validateType;

/// 校验Key
@property (strong,nonatomic,nonnull)  NSString*  validateKey;

/// 记录类型
@property (strong,nonatomic,nonnull)  NSString*  recordType;

/// 校验Value
@property (strong,nonatomic,nonnull)  NSString*  validateValue;


-(id) initWithValidateType:(NSString*) validateType
    validateKey:(NSString*)validateKey
    recordType:(NSString*)recordType
    validateValue:(NSString*)validateValue;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DiscountDetailList :NSObject

/// 服务code
@property (strong,nonatomic,nonnull)  NSString*  serviceCode;

/// 购买时长
@property (strong,nonatomic,nonnull)  NSNumber*  billPeriod;

/// 折扣信息
@property (strong,nonatomic,nonnull)  NSString*  message;

/// 折扣
@property (strong,nonatomic,nonnull)  NSNumber*  discount;


-(id) initWithServiceCode:(NSString*) serviceCode
    billPeriod:(NSNumber*)billPeriod
    message:(NSString*)message
    discount:(NSNumber*)discount;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CertBindInfo :NSObject

/// 绑定名称
@property (strong,nonatomic,nonnull)  NSString*  bindFrom;

/// 绑定Id
@property (strong,nonatomic,nonnull)  NSString*  bindId;

/// 绑定资源所在的Region
@property (strong,nonatomic,nonnull)  NSString*  bindRegion;

/// 绑定资源所在的可用区
@property (strong,nonatomic,nonnull)  NSString*  bindZone;


-(id) initWithBindFrom:(NSString*) bindFrom
    bindId:(NSString*)bindId
    bindRegion:(NSString*)bindRegion
    bindZone:(NSString*)bindZone;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RecordListDetail :NSObject

/// 证书申购记录Id
@property (strong,nonatomic,nonnull)  NSString*  recordId;

/// 交易系统订单Id
@property (strong,nonatomic,nonnull)  NSString*  orderId;

/// 证书绑定域名
@property (strong,nonatomic,nonnull)  NSString*  commonName;

/// 证书供应商
@property (strong,nonatomic,nonnull)  NSString*  supplier;

/// 证书品牌
@property (strong,nonatomic,nonnull)  NSString*  brand;

/// 证书类型
@property (strong,nonatomic,nonnull)  NSString*  certType;

/// 证书年限
@property (strong,nonatomic,nonnull)  NSNumber*  certValidity;

/// 证书状态,1:未支付,2:待补全信息,3:待下单,4:待域名验证,5:已完成,6:审核不通过,7:已取消
@property (strong,nonatomic,nonnull)  NSNumber*  state;

/// 厂商订单ID
@property (strong,nonatomic,nonnull)  NSString*  partnerOrderId;

/// 购买域名数量
@property (strong,nonatomic,nonnull)  NSNumber*  domainCount;

/// 购买泛域名数量
@property (strong,nonatomic,nonnull)  NSNumber*  wildcardDomainCount;

/// 备用域名
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  dnsNames;

/// 证书Id
@property (strong,nonatomic,nonnull)  NSString*  certId;


-(id) initWithRecordId:(NSString*) recordId
    orderId:(NSString*)orderId
    commonName:(NSString*)commonName
    supplier:(NSString*)supplier
    brand:(NSString*)brand
    certType:(NSString*)certType
    certValidity:(NSNumber*)certValidity
    state:(NSNumber*)state
    partnerOrderId:(NSString*)partnerOrderId
    domainCount:(NSNumber*)domainCount
    wildcardDomainCount:(NSNumber*)wildcardDomainCount
    dnsNames:(NSArray<NSString*>*)dnsNames
    certId:(NSString*)certId;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ValidateQueryResult :NSObject

/// 校验Key
@property (strong,nonatomic,nonnull)  NSString*  validateKey;

/// 校验内容
@property (strong,nonatomic,nonnull)  NSString*  validateValue;


-(id) initWithValidateKey:(NSString*) validateKey
    validateValue:(NSString*)validateValue;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DownloadCertDesc :NSObject

/// 证书Id
@property (strong,nonatomic,nonnull)  NSString*  certId;

/// 证书名称
@property (strong,nonatomic,nonnull)  NSString*  certName;

/// 私钥
@property (strong,nonatomic,nonnull)  NSString*  keyFile;

/// 证书
@property (strong,nonatomic,nonnull)  NSString*  certFile;

/// 对私钥文件使用sha256算法计算的摘要信息
@property (strong,nonatomic,nonnull)  NSString*  digest;

/// 中间证书
@property (strong,nonatomic,nonnull)  NSString*  caCertFile;

/// 证书应用服务器类型
@property (strong,nonatomic,nonnull)  NSString*  serverType;

/// 证书加密密码
@property (strong,nonatomic,nonnull)  NSString*  certEncryptePassword;

/// 域名
@property (strong,nonatomic,nonnull)  NSString*  commonName;


-(id) initWithCertId:(NSString*) certId
    certName:(NSString*)certName
    keyFile:(NSString*)keyFile
    certFile:(NSString*)certFile
    digest:(NSString*)digest
    caCertFile:(NSString*)caCertFile
    serverType:(NSString*)serverType
    certEncryptePassword:(NSString*)certEncryptePassword
    commonName:(NSString*)commonName;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CertListDetail :NSObject

/// 证书Id
@property (strong,nonatomic,nonnull)  NSString*  certId;

/// 证书名称
@property (strong,nonatomic,nonnull)  NSString*  certName;

/// 绑定域名
@property (strong,nonatomic,nonnull)  NSString*  commonName;

/// 证书类型
@property (strong,nonatomic,nonnull)  NSString*  certType;

/// 开始时间
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// 是否允许被删除,1允许,0不允许
@property (strong,nonatomic,nonnull)  NSNumber*  deletable;

/// 对私钥文件使用sha256算法计算的摘要信息
@property (strong,nonatomic,nonnull)  NSString*  digest;

/// 证书别名
@property (strong,nonatomic,nonnull)  NSString*  aliasName;

/// 域名
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  dnsNames;

/// 是否允许被下载,0-&gt;不允许,1-&gt;允许
@property (strong,nonatomic,nonnull)  NSNumber*  downloadable;

/// 是否允许被更新,0-&gt;不允许,1-&gt;允许
@property (strong,nonatomic,nonnull)  NSNumber*  updateable;

/// 证书状态
@property (strong,nonatomic,nonnull)  NSNumber*  certStatus;


-(id) initWithCertId:(NSString*) certId
    certName:(NSString*)certName
    commonName:(NSString*)commonName
    certType:(NSString*)certType
    startTime:(NSString*)startTime
    endTime:(NSString*)endTime
    deletable:(NSNumber*)deletable
    digest:(NSString*)digest
    aliasName:(NSString*)aliasName
    dnsNames:(NSArray<NSString*>*)dnsNames
    downloadable:(NSNumber*)downloadable
    updateable:(NSNumber*)updateable
    certStatus:(NSNumber*)certStatus;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CertQuotaLimitDetail :NSObject

/// 主键ID
@property (strong,nonatomic,nonnull)  NSNumber*  idValue;

/// 用户名称(用户pin)
@property (strong,nonatomic,nonnull)  NSString*  account;

/// 基于pin的最大可上传证书配额数
@property (strong,nonatomic,nonnull)  NSNumber*  freeUploadCertCount;

/// 基于pin的最大可购买免费证书配额数
@property (strong,nonatomic,nonnull)  NSNumber*  freeDVSingleCount;


-(id) initWithId:(NSNumber*) idValue
    account:(NSString*)account
    freeUploadCertCount:(NSNumber*)freeUploadCertCount
    freeDVSingleCount:(NSNumber*)freeDVSingleCount;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RecordDescDetail :NSObject

/// 证书申购记录Id
@property (strong,nonatomic,nonnull)  NSString*  recordId;

/// 交易系统订单Id
@property (strong,nonatomic,nonnull)  NSString*  orderId;

/// 证书名称
@property (strong,nonatomic,nonnull)  NSString*  certName;

/// 证书品牌
@property (strong,nonatomic,nonnull)  NSString*  brand;

/// 证书类型
@property (strong,nonatomic,nonnull)  NSString*  certType;

/// 域名的个数
@property (strong,nonatomic,nonnull)  NSNumber*  domainCount;

/// 泛域名的个数
@property (strong,nonatomic,nonnull)  NSNumber*  wildcardDomainCount;

/// 证书年限
@property (strong,nonatomic,nonnull)  NSNumber*  certValidity;

/// 证书绑定域名
@property (strong,nonatomic,nonnull)  NSString*  commonName;

/// 证书状态,1:未支付,2:待补全信息,3:待下单,4:待域名验证,5:已完成,6:审核不通过,7:已取消
@property (strong,nonatomic,nonnull)  NSNumber*  state;

/// 分销商返回的信息，代表订单被取消的原因
@property (strong,nonatomic,nonnull)  NSString*  canceledReason;

/// RecordValidate
@property (strong,nonatomic,nonnull)  RecordValidate*  recordValidate;

/// 公司名称
@property (strong,nonatomic,nonnull)  NSString*  corpName;

/// 公司地址
@property (strong,nonatomic,nonnull)  NSString*  corpAddr;

/// 备用域名
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  dnsNames;

/// 联系人邮箱
@property (strong,nonatomic,nonnull)  NSString*  email;

/// 自动DNS验证结果信息
@property (strong,nonatomic,nonnull)  NSString*  errorMessage;


-(id) initWithRecordId:(NSString*) recordId
    orderId:(NSString*)orderId
    certName:(NSString*)certName
    brand:(NSString*)brand
    certType:(NSString*)certType
    domainCount:(NSNumber*)domainCount
    wildcardDomainCount:(NSNumber*)wildcardDomainCount
    certValidity:(NSNumber*)certValidity
    commonName:(NSString*)commonName
    state:(NSNumber*)state
    canceledReason:(NSString*)canceledReason
    recordValidate:(RecordValidate*)recordValidate
    corpName:(NSString*)corpName
    corpAddr:(NSString*)corpAddr
    dnsNames:(NSArray<NSString*>*)dnsNames
    email:(NSString*)email
    errorMessage:(NSString*)errorMessage;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CertDescDetail :NSObject

/// 证书Id
@property (strong,nonatomic,nonnull)  NSString*  certId;

/// 证书名称
@property (strong,nonatomic,nonnull)  NSString*  certName;

/// 绑定域名
@property (strong,nonatomic,nonnull)  NSString*  commonName;

/// 证书类型
@property (strong,nonatomic,nonnull)  NSString*  certType;

/// 签发者
@property (strong,nonatomic,nonnull)  NSString*  issuer;

/// 开始时间
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// 域名
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  dnsNames;

/// 对私钥文件使用sha256算法计算的摘要信息
@property (strong,nonatomic,nonnull)  NSString*  digest;

/// 绑定信息的总数量
@property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

/// 证书关联信息
@property (strong,nonatomic,nonnull)  NSArray<CertBindInfo*>*  usedBy;


-(id) initWithCertId:(NSString*) certId
    certName:(NSString*)certName
    commonName:(NSString*)commonName
    certType:(NSString*)certType
    issuer:(NSString*)issuer
    startTime:(NSString*)startTime
    endTime:(NSString*)endTime
    dnsNames:(NSArray<NSString*>*)dnsNames
    digest:(NSString*)digest
    totalCount:(NSNumber*)totalCount
    usedBy:(NSArray<CertBindInfo*>*)usedBy;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end

#endif /* SslModel_h */
